home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / edit / aurora2.zip / QEKBD.AML < prev    next >
Text File  |  1995-01-26  |  22KB  |  607 lines

  1.  
  2. // ───────────────────────────────────────────────────────────────────
  3. // The Aurora Editor v2.0
  4. // Copyright 1993-1995 nuText Systems. All Rights Reserved Worldwide.
  5. //
  6. // QEdit/TSE Keyboard definitions (included by MAIN.AML)
  7. //
  8. // If you have made any changes, save this file and select 'Recompile
  9. // the Editor' from the Set menu. Exit and re-enter the editor for
  10. // your changes to take effect.
  11. // ───────────────────────────────────────────────────────────────────
  12.  
  13. // ───────────────────────────────────────────────────────────────────
  14. //  Edit and File Manager windows
  15. // ───────────────────────────────────────────────────────────────────
  16.  
  17.   object  edit_fmgr
  18.  
  19.   // Controls
  20.   function  '≡'                                // close window
  21.     close
  22.   end
  23.  
  24.   // Menu activation
  25.   key  <esc>           gotobar                 // to last menu bar item (qe)
  26.   key  <f10>           gotobar                 // to last menu bar item (qe)
  27.   key  <f1>            gotomenu "help"         // goto help pull-down menu (qe)
  28.   key  <alt t>         gotobar2                // to last toolbar/drive item
  29.   key  <alt f>         gotomenu "file"         // to file menu (qe)
  30.  
  31.   // Scroll
  32.   key  <pgdn>          pagedown                // scroll down (qe)
  33.   key  <pgup>          pageup                  // scroll up (qe)
  34.   key  <ctrl home>     row (getviewtop)        // to page top (qe)
  35.   key  <ctrl end>      row (getviewbot)        // to page bottom (qe)
  36.   key  <ctrl pgup>     row 1                   // to file top (qe)
  37.   key  <ctrl pgdn>     row (getlines)          // to file bottom (qe)
  38.   key  <shift f5>      adjustrow               // center cursor (qe)
  39.   key  <f5>            adjustrow 1             // scroll to page top (qe)
  40.   key  <ctrl f10>      adjustrow (getviewrows) // scroll to page bottom
  41.  
  42.   // scroll down one line (qe)
  43.   key  <ctrl z>
  44.     rollrow 1
  45.     if getrow > getviewtop then
  46.       up
  47.     end
  48.   end
  49.  
  50.   // scroll up one line (qe)
  51.   key  <ctrl w>
  52.     rollrow -1
  53.     if getrow < getviewbot then
  54.       down
  55.     end
  56.   end
  57.  
  58.   key  <ctrl up>       rollrow -1              // scroll up one line (qe)
  59.   key  <ctrl down>     rollrow  1              // scroll down one line (qe)
  60.   key  <alt f5>        rollcol -1              // scroll left one col (qe)
  61.   key  <alt f6>        rollcol  1              // scroll right one col (qe)
  62.   key  <ctrl q><p>     lastpos                 // to last cursor position (qe)
  63.  
  64.   // File
  65.   key  <alt e>         askopen                 // open prompt (qe)
  66.   key  <alt 0>         filelist                // file list (qe)
  67.   key  <ctrl k><q>     close                   // close window (qe)
  68.   key  <alt x>         closeall                // close all windows (qe)
  69.   key  <shift f1>      quickref 'qw'           // quick function reference
  70.   key  <shift f2>      quickref 'fw'           // function reference
  71.  
  72.   // Window
  73.   key  <ctrl o><z>     maximize                // maximize window (qe)
  74.   key  <ctrl o><n>     nextwindow              // next window (qe)
  75.   key  <ctrl o><p>     prevwindow              // prev window (qe)
  76.   key  <ctrl k><q>     close                   // close file (qe)
  77.  
  78.   // close window (qe)
  79.   key  <ctrl o><c>
  80.     if getwincount > 1 then
  81.       deletewin
  82.     end
  83.     tile 'v'
  84.   end
  85.  
  86.   // one window (qe)
  87.   key <ctrl o><o>
  88.     while getwincount > 1 do
  89.       deletewin
  90.     end
  91.     cascade
  92.   end
  93.  
  94.   // Search
  95.   key  <ctrl s>        askscan                 // file scan prompt
  96.  
  97.   key  <ctrl [>        gotomark 't'            // find top of block (qe)
  98.   key  <ctrl q><b>     call <ctrl [>
  99.   key  <ctrl ]>        gotomark 'b'            // find bot of block (qe)
  100.   key  <ctrl q><k>     call <ctrl ]>
  101.  
  102.   // Set
  103.   key  <ctrl f1>       togglemode              // toggle video mode (qe)
  104.  
  105.   // Macro
  106.   key  <alt f9>        askrun                  // DOS command prompt (qe)
  107.   key  <alt f8>        askruncap               // DOS capture prompt
  108.   key  <f9>            shell                   // exit to DOS (qe)
  109.  
  110.   // undefined or unnamed keys
  111.   key <otherkey> (keycode)
  112.     say (getkeyname (keycode)) + " not defined"
  113.   end
  114.  
  115.  
  116. // ───────────────────────────────────────────────────────────────────
  117. //  Prompts and Edit windows
  118. // ───────────────────────────────────────────────────────────────────
  119.  
  120.   object  prompt
  121.  
  122.   // Controls
  123.   function  '≡'                                // close window
  124.     close
  125.   end
  126.  
  127.   function  '*'                                // simulate <enter>
  128.     call <enter>                               //  (2-line box only)
  129.   end
  130.  
  131.   // Cursor
  132.   key  <left>          left                    // move cursor left (qe)
  133.                        smark                   // cua marking
  134.  
  135.   key  <right>         right                   // move cursor right (qe)
  136.                        smark                   // cua marking
  137.  
  138.   key  <home>          col 1                   // to column one (qe)
  139.                        smark                   // cua marking
  140.  
  141.   key  <end>           col  getlinelen + 1     // to end of line (qe)
  142.                        smark                   // cua marking
  143.  
  144.   // Scroll
  145.   key  <f7>            rollcol -(getviewcols - 1)   // page left
  146.   key  <f8>            rollcol   getviewcols - 1    // page right
  147.  
  148.   // Editing
  149.   key  <ins>           setting 'I' TOGGLE      // toggle insert mode (qe)
  150.   key  <del>           delchar                 // delete character (qe)
  151.   key  <backspace>     backsp                  // delete left character (qe)
  152.   key  <f6>            delchar (getlinelen)    // erase to end of line (qe)
  153.   key  <alt del>       call <f6>
  154.   key  <ctrl p>        literal                 // enter literal character (qe)
  155.   key  <ctrl a>        asciilist               // display ascii chart (qe)
  156.  
  157.   // Block
  158.   key  <alt a>         markchar                // mark stream (qe)
  159.   key  <alt k>         markcolumn              // mark column (qe)
  160.   key  <ctrl k><t>     markword                // mark word (qe)
  161.   key  <alt 2>         markeol                 // mark to end of line
  162.   key  <alt u>         destroymark             // unmark (qe)
  163.  
  164.   // copy block to prompt (qe)
  165.   key  <alt c>
  166.                        instext (getmarktext)
  167.                        col  getlinelen + 1
  168.  
  169.   // paste from clipboard to prompt (qe)
  170.   key  <grey*>
  171.                        usemark _ClipName
  172.                        instext (getmarktext)
  173.                        usemark
  174.                        col  getlinelen + 1
  175.  
  176.   // copy from prompt to clipboard (qe)
  177.   key  <grey+>         copy
  178.  
  179.   // Prompt history
  180.   key  <up>            prevhist                // retrieve prev prompt
  181.   key  <down>          nexthist                // retrieve next prompt
  182.   key  <pgup>          askhistory              // history popup menu
  183.   key  <pgdn>          askhistory              // history popup menu
  184.  
  185.   // Exit
  186.   key  <esc>           close                   // quit prompt (qe)
  187.   key  <ctrl k><q>     call <esc>
  188.  
  189.   // non-function keys
  190.   key  <char> (character)                      // typeable keys
  191.     write character
  192.   end
  193.  
  194.   // filename completion
  195.   key  <ctrl tab>      askcomplete             // filename completion
  196.   key  <tab>           askcomplete             // filename completion (qe)
  197.   end
  198.  
  199.  
  200. // ───────────────────────────────────────────────────────────────────
  201. //  Edit windows
  202. // ───────────────────────────────────────────────────────────────────
  203.  
  204.   object  edit
  205.  
  206.   // Controls
  207.   function  '≡'
  208.     close                                      // close window
  209.   end
  210.  
  211.   // Menu
  212.   key  <esc>           gotobar                 // to last menu bar item (qe)
  213.  
  214.   // Cursor
  215.   key  <up>            up                      // move cursor up (qe)
  216.                        smark                   // cua marking
  217.  
  218.   key  <down>          down                    // move cursor down (qe)
  219.                        smark                   // cua marking
  220.  
  221.   key  <enter>         enter                   // enter key (qe)
  222.   key  <greyenter>     enter                   // keypad enter key (qe)
  223.   key  <del>           delchar2                // delete character (qe)
  224.   key  <backspace>     backsp                  // delete left char (qe)
  225.   key  <ctrl t>        delword _CSet           // delete right word (qe)
  226.   key  <ctrl del>      call <ctrl t>
  227.  
  228.   key  <tab>           tabright                // tab right (qe)
  229.   key  <shift tab>     tableft                 // tab left (qe)
  230.  
  231.   key  <ctrl left>     prevword                // find prev word (qe)
  232.                        smark
  233.  
  234.   key  <ctrl right>    nextword                // find next word (qe)
  235.                        smark
  236.  
  237.   // Scroll
  238.   key  <pgdn>          pagedown                // page down (qe)
  239.                        display
  240.                        smark
  241.  
  242.   key  <pgup>          pageup                  // page up (qe)
  243.                        display
  244.                        smark
  245.  
  246.   key  <ctrl home>     row (getviewtop)        // to page top (qe)
  247.                        smark
  248.  
  249.   key  <ctrl end>      row (getviewbot)        // to page bottom (qe)
  250.                        smark
  251.  
  252.   key  <ctrl pgup>     row 1                   // to file top (qe)
  253.                        smark
  254.  
  255.   key  <ctrl pgdn>     row (getlines)          // to file bottom (qe)
  256.                        smark
  257.  
  258.   // File
  259.   key  <alt r>         askinsert               // open and insert prompt (qe)
  260.   key  <alt o>         askname                 // rename prompt (qe)
  261.   key  <ctrl k><s>     save                    // save file (qe)
  262.   key  <alt n>         nextfile                // next file (qe)
  263.   key  <alt p>         prevfile                // prev file (qe)
  264.   key  <ctrl k><q>     close                   // close file/window (qe)
  265.   key  <ctrl k><x>     close 's'               // save & close file/window (qe)
  266.   key  <ctrl k><z>     deletefile (getbufname) // killfile (qe)
  267.  
  268.   // Window
  269.   key  <ctrl o><d>                             // delete window (qe)
  270.     if getwincount > 1 then
  271.       deletewin
  272.     end
  273.   end
  274.  
  275.   key  <ctrl o><h>     splitwin 'h'            // split window horz (qe)
  276.   key  <ctrl o><v>     splitwin 'v'            // split window vert (qe)
  277.   key  <ctrl f8>       toolbar                 // display tool bar
  278.  
  279.   // Block
  280.   key  <alt l>         markline                // mark line (qe)
  281.   key  <alt 3>         markpara "tb"           // mark paragraph
  282.   key  <alt c>         copyblock2              // copy block (qe)
  283.   key  <alt z>         copyblockover           // overlay block (qe)
  284.   key  <alt m>         moveblock2              // move block (qe)
  285.   key  <alt g>         deleteblock2            // delete block (qe)
  286.   key  <shift f7>      shiftblock -1           // unindent block (qe)
  287.   key  <shift f8>      shiftblock  1           // indent block (qe) **
  288.   key  <ctrl k><l>     fillblock2              // fill block with string (qe)
  289.   key  <alt b>         formatblock2 "kr"       // reformat block (qe)
  290.   key  <alt w>         saveblock2              // save block (qe)
  291.   key  <shift f3>      sortblock2              // sort block (qe)
  292.   key  <shift f9>      quote                   // quote a block
  293.   key  <ctrl k><c>     justblock2 'c'          // center a block
  294.  
  295.   // Search
  296.   key  <ctrl f>        askfind                 // find prompt (qe)
  297.   key  <ctrl q><f>     call <ctrl f>
  298.   key  <ctrl r>        askrepl                 // replace prompt (qe)
  299.   key  <ctrl i>        isearch                 // incremental search (qe)
  300.   key  <alt v>         askfindo                // find occurrences (qe)
  301.   key  <ctrl l>        findlast                // do last find/replace (qe)
  302.  
  303.   key  <ctrl 2>        placebook               // place bookmark (qe)
  304.   key  <ctrl 6>        askbook                 // goto bookmark (qe)
  305.  
  306.   // place bookmarks (qe)
  307.   key  <ctrl k><0>     placebook 'q'
  308.   key  <ctrl k><1>     placebook 'r'
  309.   key  <ctrl k><2>     placebook 's'
  310.   key  <ctrl k><3>     placebook 't'
  311.   key  <ctrl k><4>     placebook 'u'
  312.   key  <ctrl k><5>     placebook 'v'
  313.   key  <ctrl k><6>     placebook 'w'
  314.   key  <ctrl k><7>     placebook 'x'
  315.   key  <ctrl k><8>     placebook 'y'
  316.   key  <ctrl k><9>     placebook 'z'
  317.  
  318.   // goto bookmarks (qe)
  319.   key  <ctrl q><0>     gotobook2 'q'
  320.   key  <ctrl q><1>     gotobook2 'r'
  321.   key  <ctrl q><2>     gotobook2 's'
  322.   key  <ctrl q><3>     gotobook2 't'
  323.   key  <ctrl q><4>     gotobook2 'u'
  324.   key  <ctrl q><5>     gotobook2 'v'
  325.   key  <ctrl q><6>     gotobook2 'w'
  326.   key  <ctrl q><7>     gotobook2 'x'
  327.   key  <ctrl q><8>     gotobook2 'y'
  328.   key  <ctrl q><9>     gotobook2 'z'
  329.  
  330.   key  <ctrl c>        askcol                  // go to col prompt (qe)
  331.   key  <ctrl j>        askrow                  // go to line prompt (qe)
  332.  
  333.   key  <alt 7>         search2 "f/f"           // go to next fold
  334.   key  <alt f3>        gotomatch2              // find matching char (qe)
  335.   key  <alt f7>        gotoerror               // go to compiler error
  336.  
  337.   // find word at cursor
  338.   function  fcursor (option)
  339.     word = getword _CSet
  340.     if word then
  341.       search2 word + '/' + option
  342.     end
  343.   end
  344.  
  345.   key  <alt =>         fcursor ''              // find word at cursor (qe)
  346.   key  <ctrl \>        fcursor 'g'             // find word at cursor (qe)
  347.  
  348.   // display function list (qe)
  349.   function  <ctrl g>
  350.     string = case  getext (getbufname)
  351.                when ".C", ".CPP"
  352.                  "^[a-zA-Z_].*\(.*[~;]$"
  353.                when ".AML"
  354.                  "^ *{function}|{key}.*$"
  355.                when ".PAS"
  356.                  "{procedure}|{function} +[a-zA-Z_]"
  357.                when ".PRG", ".SPR", ".MPR", ".QPR", ".FMT", ".FRG", ".LBG", ".CH"
  358.                  "^{procedure}|{function} +[a-zA-Z_]"
  359.                otherwise
  360.                  ""
  361.              end
  362.     if string then
  363.       findo string + "/ix"
  364.     else
  365.       say "Extension not supported"
  366.     end
  367.   end
  368.  
  369.   // Fold
  370.   key  <alt 8>         foldline                // fold next line
  371.   key  <alt 9>         foldline 'u'            // unfold next line
  372.   key  <alt \>                                 // open or close fold
  373.     if fold? then
  374.        openfold
  375.     else
  376.        closefold
  377.     end
  378.   end
  379.   key  <alt [>         foldall 'os'            // open all folds
  380.   key  <alt ]>         foldall 'cs'            // close all folds
  381.  
  382.   // Edit
  383.   key  <ctrl u>        undo                    // undo last change
  384.   key  <ctrl k><r>     redo                    // redo last change
  385.  
  386.   key  <f2>            insline                 // insert line (qe)
  387.                        down
  388.  
  389.   key  <alt f2>        insabove                // insert line above (qe)
  390.                        up
  391.   key  <ctrl n>        call <alt f2>           // insert line above (qe)
  392.  
  393.   key  <alt d>         delline                 // delete line (qe)
  394.   key  <ctrl d>        call <alt d>
  395.   key  <ctrl y>        call <alt d>
  396.  
  397.   key  <alt s>         splitline2              // split line (qe)
  398.   key  <alt j>         joinline                // join line (qe)
  399.   key  <f4>            insline (gettext)       // duplicate line (qe)
  400.                        down
  401.   key  <ctrl f2>       swapline                // swap line (qe)
  402.   key  <ctrl o><t>     centerline              // center line (qe)
  403.   key  <alt f1>        commentline             // comment/uncomment line
  404.  
  405.   // display menu to change case (qe)
  406.   function  casemenu (upper)
  407.     select = popup "chgcase" (if? upper "Upper" "Lower") + " Case"
  408.     if select then
  409.       undobegin
  410.       if select < 3 then
  411.         usemark 'T'
  412.       end
  413.       case select
  414.         when 1  markword _CSet
  415.         when 2  markline
  416.       end
  417.       caseblock (if? upper 'u' 'l')
  418.       if select < 3 then
  419.         destroymark
  420.         usemark
  421.       end
  422.       undoend
  423.     end
  424.   end
  425.  
  426.   key  <shift f4>  casemenu TRUE               // uppercase menu (qe)
  427.   key  <alt f4>    casemenu FALSE              // lowercase menu (qe)
  428.  
  429.   // copy character above (qe)
  430.   key  <ctrl ->
  431.     if getrow > 1 then
  432.       writetext (getchar (getcol) getrow - 1)
  433.     end
  434.   end
  435.  
  436.   // copy character above to end of line (qe)
  437.   key  <alt ->
  438.     if getrow > 1 then
  439.       writetext (gettext (getcol) '' getrow - 1)
  440.     end
  441.   end
  442.  
  443.   // Clipboard
  444.   key  <grey->         cut                     // cut (qe)
  445.   key  <ctrl grey->    cut 'a'                 // cut append (qe)
  446.   key  <grey+>         copy                    // copy (qe)
  447.   key  <ctrl grey+>    copy 'a'                // copy append (qe)
  448.   key  <grey*>         paste                   // paste (qe)
  449.   key  <ctrl grey*>    paste 'o'               // paste over (qe)
  450.   key  <ctrl grey/>    clear                   // clear clipboard
  451.   key  <ctrl b>        popup "editClip"        // clipboard menu (qe)
  452.  
  453.   // Set
  454.   key  <ctrl o><w>     setting 'L' TOGGLE      // live word wrap toggle (qe)
  455.   key  <ctrl q><i>     setting 'A' TOGGLE      // autoindent toggle (qe)
  456.   key  <ctrl q><t>     setting 'S' TOGGLE      // smart tabs toggle (qe)
  457.   key  <ctrl v>        setting 'D' TOGGLE      // line draw toggle (qe)
  458.  
  459.   //Macro
  460.   key  <ctrl x>        askrmacro               // run macro prompt (qe)
  461.   key  <ctrl f9>       compilemacro2 (getbufname)  // compile current file (qe)
  462.   key  <shift f11>     runmacro2 (getbufname)      // run current file
  463.   key  <shift f12>     pickmacro                   // macro picklist
  464.  
  465.   // non-function (typeable) keys
  466.   key  <char> (character)                      // typeable keys
  467.     write character
  468.   end
  469.  
  470.   // Other
  471.   key  <ctrl q><ctrl q>  askrepkey             // repeat entered keys (qe)
  472.  
  473.   // invoke a spell checker from within an edit window
  474.   // (replace 'jspell' with your favorite spell checker)
  475.   key  <f11>
  476.     save                                       // save the current file
  477.     run  "jspell " + getbufname  "ck"          // call spellchecker
  478.     reopen                                     // reopen current file
  479.   end
  480.  
  481. // ───────────────────────────────────────────────────────────────────
  482. //  File Manager windows
  483. // ───────────────────────────────────────────────────────────────────
  484.  
  485.   object  fmgr
  486.  
  487.   // Menu activation
  488.   key  <tab>           gotobar2                // to drive menu bar
  489.  
  490.   // Cursor
  491.   key  <left>          rollcol -1              // scroll left one column
  492.   key  <right>         rollcol  1              // scroll right one column
  493.   key  <home>          col 1                   // scroll to column one
  494.  
  495.   // move cursor up
  496.   key  <up>
  497.     if shiftkey? then
  498.       fmark
  499.     end
  500.     up
  501.   end
  502.  
  503.   // move cursor down
  504.   key  <down>
  505.     if shiftkey? then
  506.       fmark
  507.     end
  508.     down
  509.   end
  510.  
  511.   // file manager commands (single character command codes)
  512.   key  <char> (c)
  513.  
  514.     // toggle file mark
  515.     if c == ' ' then
  516.       fmark
  517.  
  518.     // <shift-character> commands
  519.     elseif shiftkey? then
  520.       case  locase c
  521.         when 'o'     fopen 'o'                   // open file/directory
  522.         when 'e'     fopen 'e'                   // open file/directory
  523.         when 'z'     fopen "ze"                  // open maximized
  524.         when 'b'     fopen 'b'                   // open binary file
  525.         when 'y'     fopen "be"                  // open binary in one window
  526.         when 'k'     openkey2 (getffile)         // open key macro file
  527.         when 'm'     fmove                       // move file
  528.         when 'c'     fcopy                       // copy file
  529.         when 'd'     fdelete                     // delete file
  530.         when 'n'     frename                     // rename file
  531.         when 'r'     frun 'c'                    // run program/batch file
  532.         when 'p'     fprint                      // print file
  533.         when 'a'     fattr                       // change file attributes
  534.         when 't'     ftouch                      // touch file
  535.  
  536.         // spell checker
  537.         when 's'     run "jspell " + getffile  "ck"
  538.  
  539.         // unarchive .ZIP or .LZH files
  540.         when 'u'
  541.           f = getffile
  542.           run (if? (pos ".lzh" f 'i') "lha e " "pkunzip ") + f  "ck"
  543.           reopen
  544.  
  545.         // view .ZIP or .LZH archives
  546.         when 'v'
  547.           f = getffile
  548.           runcap (if? (pos ".lzh" f 'i') "lha v " "pkunzip -v ") + f
  549.       end
  550.  
  551.     // hotkey to files
  552.     else
  553.       onhotkey c
  554.     end
  555.  
  556.   // File
  557.   key  <ctrl backspace>   fup                  // parent directory
  558.  
  559.   // Mark
  560.   key  <alt m>         fmark "ma"              // mark all files
  561.   key  <alt u>         fmark "ua"              // unmark all
  562.  
  563.   // Command
  564.   key  <enter>         fopen '1'               // open file (one only)
  565.   key  <ctrl enter>    fopen 'q'               // open file (close fmgr)
  566.   key  <del>           fdelete                 // delete file
  567.  
  568.   // Sort
  569.   key  <alt n>         fsort 'n'               // sort by name
  570.   key  <alt s>         fsort 's'               // sort by size
  571.   key  <alt d>         fsort 'd'               // sort by date/time
  572.   key  <alt o>         fsort 'o'               // no sort (DOS order)
  573.  
  574.   // Print
  575.   key  <ctrl p>        print                   // print fmgr contents
  576.   end
  577.  
  578.  
  579. // ───────────────────────────────────────────────────────────────────
  580. //  Movable/Sizable windows
  581. // ───────────────────────────────────────────────────────────────────
  582.  
  583.   object  win
  584.  
  585.   key  <ctrl o><r>     sizekey                 // move/size with kbd (qe)
  586.   key  <ctrl f6>       pankey                  // pan video with kbd
  587.   end
  588.  
  589.  
  590. // ───────────────────────────────────────────────────────────────────
  591. //  All windows
  592. // ───────────────────────────────────────────────────────────────────
  593.  
  594.   object  mon
  595.  
  596.   key  <alt f10>       showentry               // show entry screen (qe)
  597.  
  598.   // key macros (qe)
  599.   key  <ctrl m>        record                  // toggle record setting
  600.   key  <ctrl enter>    play                    // play scrap key macro
  601.  
  602.   // define multi-key prefixes
  603.   key  <ctrl k>        prefix <ctrl k>         // define <ctrl k> prefix
  604.   key  <ctrl o>        prefix <ctrl o>         // define <ctrl o> prefix
  605.   key  <ctrl q>        prefix <ctrl q>         // define <ctrl q> prefix
  606.  
  607.